/**
 *  用户预测记录
 *  记录用户每次提交的预测任务
 *  包括任务id、用户id、源文件、预测结果、请求时间
 */
interface UserPrediction {
    id: string;
    customerId: string;
    sourceFile: string;
    predictResult: string;
    requestTime: number;
}

/**
 *  根据日期请求的模块预测数据
 */
interface ModulePrediction<T> {
    key: string;
    date: number;
    data: T | Array<T>;
}

/**
 * 未来天气预测数据
 */
interface MonthlyWeatherPrediction {
    index: number;
    P: number;
    U: number;
    DD: string;
    Ff: number;
    T_max: number;
    T_min: number;
    date: string;
    abstract?: string;
}

/**
 * 当前天气预测数据
 */
interface DailyWeatherPrediction {
    index: number;
    P: number;
    U: number;
    DD: string;
    Ff: number;
    P0: number;
    Td: number;
    T: number;
    date: string;
    abstract: string;
}

/**
 * 股票预测数据
 */
interface StockPrediction {
    index: number;
    close_price: number;
    date: string;
    high: number;
    low: number;
    open_price: number;
    pct_change: number;
    volume: number;
}

/**
 * 电力预测数据
 */
interface ElectricityPrediction {
    index: number;
    date: string;
    baiyun: number;
    conghua: number;
    haizhu: number;
    huadu: number;
    huangpu: number;
    liwan: number;
    nansha: number;
    panyu: number;
    tianhe: number;
    yuexiu: number;
    zengcheng: number;
}

export type {
    UserPrediction,
    ModulePrediction,
    MonthlyWeatherPrediction,
    DailyWeatherPrediction,
    StockPrediction,
    ElectricityPrediction,
};
